package com.xhsj.user.hr.system.entity;

import java.util.Date;
import com.baomidou.mybatisplus.annotation.Version;
import com.xhsj.user.hr.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * <p>
 * 用户社保凭证表
 * </p>
 *
 * @author suxiaolin
 * @since 2021-08-05
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tb_hr_user_social_security")
public class TbHrUserSocialSecurity extends BaseEntity<TbHrUserSocialSecurity> {

    private static final long serialVersionUID = 1L;

    /**
     * 用户id
     */
    @TableField("user_id")
    private Long userId;

    /**
     * 行政助理确认时间
     */
    @TableField("confirm_date")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date confirmDate;

    /**
     * 社保文件
     */
    @TableField("file_url")
    private String fileUrl;

    /**
     * 文件名
     */
    @TableField("file_name")
    private String fileName;

    /**
     * 文件删除路径
     */
    @TableField("del_url")
    private String delUrl;

    /**
     * 工龄 - 年 录入系统时的工龄
     */
    @TableField("working_years")
    private Integer workingYears;

    /**
     * 工龄 - 月 录入系统时的工龄
     */
    @TableField("working_month")
    private Integer workingMonth;

    /**
     * 已休小时数 - 临时用
     */
    @TableField(exist = false)
    private int useNum;

    /**
     * 当前工龄年 - 通过当前时间 与 confirmDate 相减 计算出的最新工龄
     */
    @TableField(exist = false)
    private Integer currentWorkingYears;

    /**
     * 当前工龄月 - 通过当前时间 与 confirmDate 相减 计算出的最新工龄
     */
    @TableField(exist = false)
    private Integer currentWorkingMonth;

    /**
     * 年假总数
     */
    @TableField(exist = false)
    private int totalNumber;

    /**
     * 已休数
     */
    @TableField(exist = false)
    private int useNumber;

    /**
     * 去年年假总时间
     */
    @TableField(exist = false)
    private int preTotalNum;

    /**
     * 去年已休的时间
     */
    @TableField(exist = false)
    private int preUseNum;

    /**
     * 今年剩余的时间
     */
    @TableField(exist = false)
    private int surplusNum;

    /**
     * 去年剩余的时间
     */
    @TableField(exist = false)
    private int preSurplusNum;

    /**
     * 过期时间
     */
    @TableField(exist = false)
    private String annualLeaveExpireDate;







}
